#Import-LocalizedData.ps1
# Auteur Jacques Barathon alias Janel. Le 20/01/2009

function Import-LocalizedData
{
# La fonction ci-dessus permet d'importer des donn?es selon la culture de la session en cours ou en pr?cisant une culture particuli?re.
# Evidemment (c'?tait le but de l'exercice) ?a marche avec la v1 de PowerShell. 
# 
# Chaque fichier de donn?es doit ?tre plac? dans un r?pertoire portant le nom de la culture ("fr-FR", "en-US", etc). 
# Ce r?pertoire lui-m?me doit ?tre plac? dans le m?me r?pertoire que le script. 
# 
# Par d?faut, le fichier lu aura le m?me nom que le script, avec une extension diff?rente: .psl1 (pour PowerShell Localization, v1 ).
# Mais on peut pr?ciser un autre nom de fichier. Attention ? ne pas pr?ciser l'extension, elle est rajout?e par la fonction! 
# 
# Enfin, le contenu d'un fichier doit ?tre sous la forme suivante : 
# <nom> = <valeur> 
# 
# Pour faciliter la lecture du fichier, on peut ajouter des lignes vierges et des lignes de commentaire commen?ant par #.
#
# get-content c:\tests\fr-FR\test-local.psl1
# #culture "fr-FR"
# 
# Welcome = Bienvenue au jeu "Devinez un jour" !
# Prompt  = Tapez un nom de jour
# Success = Vous avez devin? ! Toutes nos f?licitations !
# 
# get-content c:\tests\en-US\test-local.psl1
# # culture "en-US"
# Welcome = Welcome to the "Guess a day" game!
# Prompt = Enter the name of any day
# Success = You had it right! Congratulations!

 
  param (
    [string]$filename = [IO.Path]::GetFileNameWithoutExtension((split-path -leaf $myinvocation.MyCommand)),
    [System.Globalization.CultureInfo]$UIculture = (get-UIculture)
  )

  $fullpath = $(split-path $myinvocation.ScriptName) + "\$UIculture\$filename" + ".psl1"

  $ht = @{}
  get-content $fullpath | where {($_.TrimStart()) -ne "" -and ($_.TrimStart())[0] -ne "#"} | foreach {
    $key, $value = $_.Split("=", 2)
    $ht.Add($key.Trim(), $value.TrimStart())
  }
  $ht
}

